package com.example.ezexcel.enumerator;


/**
 * 业务状态码
 *
 * @author java@tedu.cn
 * @version 2.0
 */
public enum ServiceCode {


    /**
     * 操作成功
     */
    OK(2000),
    /**
     * 登录成功
     */
    LOGIN_SUCCESS(1001),
    /**
     * 密码错误
     */
    PASSWORD_ERROR(1002),
    /**
     * 用户名错误
     */
    USERNAME_ERROR(1003),
    /**
     * 用户名已存在
     */
    USERNAME_ALREADY_EXISTS(1004),
    /**
     * 操作成功
     */
    OPERATION_SUCCESS(2001),
    /**
     * 操作失败
     */
    OPERATION_FAILED(2002),
    /**
     * 参数校验失败
     */
    VALIDATE_ERROR(3002),
    /**
     * 错误：请求参数格式错误
     */
    ERROR_BAD_REQUEST(4000),
    /**
     * 错误：未认证
     */
    ERROR_UNAUTHORIZED(4010),
    /**
     * 错误：未认证，因为被禁用
     */
    ERROR_UNAUTHORIZED_DISABLED(4010),
    /**
     * 错误：禁止访问，用于无权限
     */
    ERROR_FORBIDDEN(4020),
    /**
     * 错误：数据不存在
     */
    ERROR_NOT_FOUND(4040),
    /**
     * 错误：数据冲突
     */
    ERROR_CONFLICT(4090),
    /**
     * 错误：未知的插入数据失败
     */
    ERROR_INSERT(5000),
    /**
     * 错误：未知的删除数据失败
     */
    ERROR_DELETE(5010),
    /**
     * 错误：未知的修改数据失败
     */
    ERROR_UPDATE(5020),
    /**
     * 错误：JWT已过期
     */
    ERR_JWT_EXPIRED(6000),
    /**
     * 错误：JWT验证签名失败，可能使用了伪造的JWT
     */
    ERR_JWT_SIGNATURE(6010),
    /**
     * 错误：JWT格式错误
     */
    ERR_JWT_MALFORMED(6020),
    /**
     * 错误：上传的文件为空（没有选择有效的文件）
     */
    ERROR_UPLOAD_EMPTY(9000),
    /**
     * 错误：上传的文件类型有误
     */
    ERROR_UPLOAD_INVALID_TYPE(9010),
    /**
     * 错误：上传的文件超出限制
     */
    ERROR_UPLOAD_EXCEED_MAX_SIZE(9020),
    /**
     * 错误：其它异常
     */
    ERROR_UNKNOWN(9999);

    /**
     * 枚举对象的值
     */
    private Integer value;

    ServiceCode(Integer value) {
        this.value = value;
    }

    /**
     * 获取枚举对象的值
     *
     * @return 枚举对象的值
     */
    public Integer getValue() {
        return value;
    }

}